home *** CD-ROM | disk | FTP | other *** search
/ CD Exchange / CD Exchange - Volume 1.iso / utils / benchmark / aibb6.1 / documentation / version_changes < prev   
Encoding:
Text File  |  1993-06-02  |  35.5 KB  |  663 lines

  1.  
  2.                                 A.I.B.B.
  3.                     Amiga Intuition Based Benchmarks
  4.                        Program Release Version 6.1
  5.                     Copyright 1991-1993 LaMonte Koop
  6.  
  7.                        Version Change Information
  8.  
  9.  
  10.     Version series' 4.x-6.x of AIBB is a complete re-write from the original
  11. code used for the previous versions 1-3.  Being that this is the case, it
  12. is quite important that the documentation be read thoroughly in order
  13. to completely understand all aspects of the program performance.  The
  14. changes to this version series are detailed below.
  15.  
  16. Changes to version 6.1:
  17.  
  18.     --     Some modifications were made to the way AIBB does MMU table
  19.         translations (such as looking up the ROM image location) on 68040
  20.         machines to correct a few problems and wrong results which occured
  21.         with this.
  22.  
  23.     --     General code clean up and reduction has resulted in an
  24.         approximate 10K of size reduction in AIBB's executable.
  25.  
  26.     --     A few more boards were added to AIBB's internal expansion board
  27.         database.
  28.  
  29. Changes to version 6.0:
  30.  
  31.      --    AIBB has had its graphics-based tests completely re-written.
  32.         The user is now allowed to select the screen mode to be used by
  33.         AIBB when performing such tests via the "Set Gfx Test Mode" option
  34.         under the "Test Options" menu.  This is done via the ASL.LIBRARY
  35.         screenmode requester, and thus this option is not available unless
  36.         the host system is using V38 of ASL or greater (V38 is found with
  37.         the AmigaOS 2.1 enhancement).
  38.            The default screen mode AIBB uses for its graphics tests is
  39.         a high-resolution ( 640x200 ) 3 bitplane ( 8 color ) setup.  When
  40.         a new screen mode is selected for the tests, AIBB will check this
  41.         against the modes used in the comparison systems and will warn the
  42.         user if the new mode differs in equivalence, as it is necessary to
  43.         be aware of this so that the comparisons can then be weighted
  44.         accordingly. ( eg, if you run a test in a low-res 1 bitplane mode,
  45.         it will almost assuredly perform faster than in a high-res 4
  46.         bitplane mode, so this has to be taken into account when looking at
  47.         the results ).
  48.            This new option was provided for allowing the comparison of
  49.         different graphics modes on the systems used.  It can also be used
  50.         to examine the performance of some of the new graphics boards being
  51.         introduced for the Amiga. ( for example, one can see at which mode
  52.         the board ends up being slower for a given test than the default
  53.         mode used for the comparison systems ).
  54.            AIBB does save the screen mode data within its load module, so
  55.         that this information is available when a new module is loaded.
  56.         Again, when a module is loaded, checks are made against the screen
  57.         modes in use by the other loaded systems, and the host system, to
  58.         warn the user if differing graphics modes were used.
  59.            In addition to these changes, another item under the "Test
  60.         Options" menu allows the user to browse through the graphics modes
  61.         used by the comparison systems, as well as that in use by the host
  62.         system.
  63.            Please note: All of these changes have meant that AIBB's load
  64.         module and preferences file format have changed.
  65.  
  66.      --    The ability to change AIBB's primary screen colors has been
  67.         added via the use of a color requester.  Color selections are
  68.         saved to AIBB's preferences file when the "Save Configuration"
  69.         menu item is selected in AIBB's "General" menu area.  This was
  70.         added upon complaints from monochrome monitor users who were
  71.         having trouble seeing parts of AIBB's display because two or
  72.         more colors would map to the same grey shades.
  73.  
  74.      --    AIBB's help mode requesters have been removed to make room for
  75.         the changes to its graphics tests.  They were giving problems due
  76.         to a compiler bug (bad code generation) in any case, and the entire
  77.         system needs to be re-worked before being implemented again
  78.         (space allowing).  This also freed up a good deal of space for
  79.         other functions within AIBB, and unless it becomes a real problem
  80.         this may not be re-implemented...at least not in the form it has
  81.         taken thus far.
  82.  
  83.      --    AIBB will no longer show 2 gadgets on a requester when only one
  84.         option is available.  This has been changed as it was reported to
  85.         be confusing to some users when two gadgets would appear, though
  86.         they had the same text/action associated with them.
  87.  
  88.      --    Under 1.3 or earlier of AmigaOS, AIBB would sometimes call up
  89.         an Alert indicating a lack of CHIP memory for a particular
  90.         operation when in fact there was no problem.  This was due to a bug
  91.         in the AmigaOS Request() function under 1.3 and below.  This
  92.         function would not always give the proper return value, and would
  93.         make AIBB believe an error occured when it in fact hadn't.  A
  94.         workaround is in effect now for 1.3 and below within AIBB, by
  95.         looking at window->FirstRequest instead of relying on the return
  96.         value from Request() to indicate success.
  97.  
  98.      --    AIBB's TGTest has been changed again to one which carries its
  99.         measure in terms of characters/second output to the screen.  The
  100.         previous use of variously sized windows to hold the output has been
  101.         removed due to various testing which showed it to have a minimal
  102.         value in the test itself.
  103.  
  104.      --    A new entry in AIBB's memory node information reporting has
  105.         been added.  AIBB will now report the a relative "Bus latency
  106.         factor" for all FAST RAM nodes.  This figure represents the latency
  107.         between a memory cycle, and when another cycle can be performed.
  108.         Lower ratings indicate better response times for a particular
  109.         memory node, with the unattainable goal of 0.0 indicating that no
  110.         latency occured at all.  Basically, this gives information as to
  111.         the relative efficiency of various memory nodes.  (eg, one with a
  112.         rating of 5.0 would be more efficient, and hence faster than one
  113.         with a rating of 7.0.).  Note that this can only be used as a
  114.         valid comparison across systems if other factors such as processor
  115.         type, clockspeed, and bus width are also taken into account.  This
  116.         figure is most useful in comparing two different memory regions on
  117.         similar systems, such as two memory boards on a 68030 based system
  118.         against each other for relative efficiency.
  119.  
  120.      --    Two new tests have been added to AIBB's lineup.  The first,
  121.         "EllipseTest" is a simple test of one of the Amiga's more complex
  122.         drawing functions, DrawEllipse().  A series of elliptical shapes
  123.         is drawn, with the function timed for speed comparisons.  The
  124.         second test, known as LineTest, tests the Amiga's speed at various
  125.         line drawing jobs.  This test reports its results in terms of
  126.         Lines Drawn per Second.
  127.  
  128.      --    File requester capability has been added to the Load Module
  129.         Preferences requester as per recommendation by various people.
  130.         The gadgets marked "FR" next to each string input gadget will
  131.         bring up a file requester for that particular entry.  This
  132.         alleviates the need to type in path/file names for selecting
  133.         default modules to load up when AIBB is initialized.
  134.  
  135.      --   A bug with AIBB's low memory situation handling has been fixed.
  136.         Previously, it was possible for AIBB to crash in a low memory
  137.         situation when it couldn't open a screen or window.  This has been
  138.         corrected in this version and AIBB should now properly handle these
  139.         events.
  140.  
  141.      --    Changes have been made to AIBB's FPU clock rate evaluation.
  142.         Under previous versions, low results could be reported for the FPU
  143.         clock rate when the host system was running a high-clocked FPU
  144.         (~50 MHz) with a moderate to low-clocked CPU (~16 MHz).  This
  145.         showed up on the A1200 operating with external expansion boards
  146.         equipped with high-speed FPUs.  The changes made here attempt to
  147.         smooth out this difference and give more accurate results for FPU
  148.         clock rate on these systems.
  149.  
  150.     __     AIBB now uses gadgets rather than menu items for CPU cache
  151.         control.  The gadgets are located on AIBB's main screen in the
  152.         cache status indicator area.
  153.  
  154.     --     Moving from AIBB's main screen to its system information
  155.         display is now accomplished by clicking on the appropriate
  156.         gadget near the comparison information area corresponding to the
  157.         machine information is desired on.  Previously, AIBB used a
  158.         menu arrangement under the "Systems" menu to move to this
  159.         display, and this was complained about as being "clumsy" to
  160.         operate.  The new gadgets are located under the "System Comparison
  161.         Information" section of the main screen, and are set up as the
  162.         row headers for that area.
  163.  
  164.     --     AIBB now encorporates gadgets rather than menu items for
  165.         changing code types used in tests and evaluations.  Previously,
  166.         menu items under the menu "Test Options" were used to change the
  167.         test code types for both the host system and comparison machines.
  168.         This turned out to be more work for the user than necessary, and
  169.         hence the gadget approach was adopted.  The gadgets are located
  170.         next to the evaluation results on the main screen, and allow for
  171.         cycling through the various CPU/FPU code types available for a
  172.         given system.
  173.  
  174.     --      A bug with AIBB's MMU table parsing mechanism has been fixed.
  175.         AIBB normally will parse any active MMU tables in order to find the
  176.         physical location of various system objects.  However, a bug was
  177.         discovered in how AIBB parses tables utilizing long (64 bit) table
  178.         descriptors.  This was originally thought to be fixed some time
  179.         ago, but recently it became obvious this was still in error.  This
  180.         is now fixed and should properly find physical memory locations
  181.         under these MMU setups as well as others.
  182.  
  183.     --     AIBB was inadvertantly making a 2.0+ only OS call within its
  184.         procedures to close a log file being written to.  This could lead to
  185.         a failure and crash on systems runing 1.3 or earlier versions of
  186.         AmigaOS.  This has been corrected as of this version.
  187.  
  188.  
  189. Changes to version 5.5
  190.  
  191.     --     The default A3000 internal comparison machine is one using
  192.         AmigaOS 2.x now instead of 3.0 as in the previous 5.0 release
  193.         of AIBB.  This is to reflect the fact that AmigaOS 3.0 is not
  194.         openly available for the A500/A2000/A3000 series machines
  195.         presently.
  196.  
  197.     --     AIBB no longer checks for, nor has problems with Enforcer
  198.         running on the system.   Therefore, the option to avoid testing
  199.         for it has been removed from the CLI/Icon Tooltypes checking.
  200.         Note that although AIBB coexists fine with Enforcer now, such
  201.         should not really be used when testing as the MMU table lookups
  202.         which Enforcer causes can affect peformance to some degree.
  203.  
  204.     --     A bug with AIBB's cache selection menu items has been corrected.
  205.         In version 5.0, AIBB would not disallow selection of the data
  206.         cache enable/disable menu item on a stock 68000 based machine.
  207.         Selection of this could cause a system failure on a 68000 system
  208.         (which has no caches), and has been fixed in this version.
  209.  
  210.     --     Several test result indicators have changed.  The Writepixel
  211.         test no longer gives data in terms of execution time, but rather
  212.         a rating of pixels output per second by the routine.  The MemTest
  213.         routine gives its results in megabytes of data transferred per
  214.         second.  This change was made to make the results more context
  215.         readable.
  216.  
  217.     --     The TGTest test has been updated.  The new version reflects
  218.         effects occuring in a windowed environment for more accurate
  219.         representation of the Amiga under such circumstances.  As such,
  220.         AIBB's load file format has -CHANGED- again.  Unfortunately, test
  221.         updates do require this action, though I am actively seeking
  222.         a remedy for these inconvieniences.
  223.  
  224.     --     A new test called "EmuTest" has been added in the area of
  225.         "special: tests for AIBB.  This test is basically a small
  226.         CPU emulator core running an instruction set simulation
  227.         (basically a small program).  The Amiga seems to have gained
  228.         a bit of a precedence in CPU emulation, and I put together this
  229.         test for the purpose of showing various systems' ability to
  230.         perform such emulation efficiently and speedily.  The simulated
  231.         CPU is a standard 68000, though the results from this can be
  232.         taken as indicative of other CPU emulators as the basic
  233.         principle is the same.  All instructions and internal operations
  234.         are completely software emulated.  The results for this test are
  235.         given in Simulated MegaHertz, basically a rating showing how
  236.         fast the emulation is towards an equivalent hardware-based
  237.         CPU.
  238.  
  239.     --     A change was made in how AIBB stores its test timing data.
  240.         Previously, this data was kept (both internally and in the
  241.         load files) in longword (32 bit) integer format.  However, due
  242.         to some internal changes, this data is now kept in IEEE double
  243.         precision floating-point format (64 bits).  This was done to
  244.         help avoid rounding errors and make internal calculations simpler.
  245.  
  246.     --     By request, standard keyboard shortcuts have been added to
  247.         selected portions of AIBB's menus.
  248.  
  249.     --     Fixed a problem with Parse_MMU_Table().  This function was
  250.         not correctly parsing long-format (double longword) sized
  251.         descriptor tables.  This has been corrected and these tables
  252.         and the addresses AIBB attempts to correlate when looking at
  253.         functioning MMU setups should be checked correctly.  The bug
  254.         did not show up under any currently used MMU setups on the
  255.         Amiga, but could possibly have shown up in the future.  This
  256.         correction assures AIBB will be able to locate physical memory
  257.         addresses from logical ones when reporting the location of
  258.         certain items given in its display.
  259.  
  260.     --     Added some checks in AIBB's System Information Display to
  261.         prevent unnecessary redrawing of parts of the display.  This
  262.         enhancement should speed things up a bit for slower machines.
  263.  
  264.     --     AIBB's 68030/68EC030 detection code has been revised again.
  265.         The new method used should provide a somewhat safer determination
  266.         method than the previous way.
  267.            The old method relied to write protecting a page in a
  268.         translation table setup, then writing to the page and checking for
  269.         a bus error situation.  Unfortunatly, as it turns out some strange
  270.         interactions can occur in the way this was set up if the
  271.         translation table was located in a 16-bit ported RAM resource.
  272.            The method used now is much safer.  Instead of write protecting
  273.         a page, nothing is done whatsoever except for a straight-through
  274.         early-termination one-level setup.  Once the MMU is activated,
  275.         a single read is done from a given page, and then the "U" bit
  276.         in the corresponding page descriptor is examined.  With an active,
  277.         functional MMU, this bit should be set upon the first access to
  278.         a given descriptor, and will be set in the test case above.  On
  279.         68EC030 based machines, which have no functional MMU, this bit will
  280.         be unaffected.
  281.            An added side-effect of these changes is that AIBB no longer
  282.         needs as large of a translation table as it did with the earlier
  283.         method.  A 16 byte table (first level only - upper 2 bits of the
  284.         logical address are used for indexing) is all that is required now,
  285.         as opposed to the 16K byte table used before.  As a result, AIBB
  286.         will almost always be able to allocate memory for a table and will
  287.         not be forced to abort the test due to memory constraints.
  288.  
  289.     --     Fixed a minor memory loss situation.  AIBB was losing about
  290.         40 bytes of memory per incarnation due to a port not being deleted
  291.         upon exit.  This has been corrected as of this revision.
  292.  
  293.     --     A bug with the internal function Scale_Graph() has been
  294.         corrected.  In previous versions, certain odd input circumstances
  295.         could create a worst-case scenario in this function resulting in a
  296.         scaling to infinity.  The result of this was usually a garbled
  297.         screen full of strange display artifacts, and assorted memory
  298.         trashing as AIBB overwrote its RastPort boundaries.  Additional
  299.         checks have been added to avoid this problem.
  300.  
  301.     --     A bug with AIBB's code type selection for comparison systems
  302.         has been fixed.  Earlier, if a module was using 68040 Math code
  303.         and was then replaced by loading a new module incapable of
  304.         using FPU math at all, 68040 Math code would remain selected.
  305.         Normally, AIBB should have stepped the selected type down to
  306.         Standard Math Code.  This bug could have caused problems ranging
  307.         from strange results to system failures under these circumstances.
  308.  
  309.     --     An addition was made to AIBB's System Information Display.
  310.         As well as showing memory nodes and expansion devices, AIBB will
  311.         also show information pertaining to various pertinent system
  312.         libraries (location, version/revision, etc...).  The only libraries
  313.         included in this are those which may have an effect on performance
  314.         issues where AIBB is concerned.  Note that for the memory addresses
  315.         given for each library, the actual node location and memory
  316.         node characteristics can be determined by looking at the various
  317.         system memory nodes and finding the proper one.
  318.  
  319.     --     AIBB now dynamically looks at the system display type in use
  320.         whereas before it only did this on a static at-startup basis.
  321.         This was done to more accurately reflect a systems current true
  322.         state.
  323.  
  324.     --     AIBB's preferences file format has been changed, and thus
  325.         requires the replacement of old preferences files.  This was done
  326.         to add an ID field to the file so that invalid preferences could
  327.         not accidentally be loaded.  This had occured in several incidents,
  328.         so this action was taken as a preventative measure.
  329.  
  330.     --     Some minor cosmetic changes were made to various areas of the
  331.         program, including requesters and general display characteristics.
  332.  
  333. Changes to version 5.0
  334.  
  335.     --     AIBB has been recompiled using SAS/C 6.0, resulting in both
  336.         space savings and a general speed up in code.
  337.  
  338.     --     Note that AIBB's load file format has changed.  Previous load
  339.         files will NOT work with this version.  As of this release, I
  340.         am attempting to freeze the load file format so that further
  341.         inconvieniences do not occur.
  342.  
  343.     --     A bug with AIBB's cache control menu items has been fixed.
  344.         In previous releases, AIBB would request the system CPU type if
  345.         it was not able to determine such by individual means.  This
  346.         occured for checks between the 68EC030 and 68030, and also for
  347.         determining the existance of the 68EC040 or 68LC040, if
  348.         warranted.  However, AIBB would also erroneously disable the
  349.         cache switching menu items if such a request for CPU identification
  350.         was made.  This problem should no longer occur.
  351.  
  352.     --     An expansion board indentification lookup table has been added
  353.         internally to AIBB, allowing various system expansion boards to
  354.         be identified by name.  This table is by no means complete, and
  355.         will be added to in the future (unlisted boards are given a
  356.         "No Information Available" entry when referenced).  This
  357.         information is found under AIBB's System Information Display when
  358.         viewing system expansion devices.
  359.  
  360.     --     A change has been made in the comparison systems AIBB uses.
  361.         The current default systems AIBB contains are now the A4000,
  362.         A3000, A2000 (with FAST RAM), and A500 (stock, no FAST RAM).
  363.         These systems represent a spread of Amiga models currently
  364.         available.
  365.  
  366.     --     Some of AIBB's CLI/Shell arguments have been changed to
  367.         reflect internal changes to the program.  Please note the new
  368.         assignments for CPU/FPU/MMU types (if used) in the main
  369.         documentation file.  This is important - using the incorrect
  370.         assignment if these options are necessary may result in
  371.         unexpected program behavior.
  372.  
  373. Changes to version 4.65
  374.  
  375.     --     AIBB will now request the user to identify whether a 68EC030
  376.         or standard 68030 exists on such systems, or between a 68LC040
  377.         and 68EC040 if conditions warrant.  Previous releases simply
  378.         made a processor assumption if situations did not allow for a
  379.         full internal test for the processor type.  As of this version,
  380.         the user will be prompted for the correct processor type if this
  381.         situation arises.  This was added for accuracy, and some
  382.         safety considerations.
  383.  
  384.     --     The memory port width testing code AIBB uses has been changed.
  385.         The new code used is more accurate, and better able to handle
  386.         a wide variety of memory response configurations.
  387.  
  388.     --     Proper identification of the new custom chips is not done
  389.         within AIBB.  Both the new Alice and Lisa devices will be detected
  390.         and shown on the System Information Display portion of AIBB.
  391.  
  392.     --     Under V39 (3.0) of AmigaOS and above, certain CHIP RAM
  393.         characteristics will be recorded and displayed in the System
  394.         Information Display in the memory node information area.  These
  395.         include CAS characteristics of CHIP memory, and other related
  396.         bandwidth information.
  397.  
  398.     --     Several "safety measure" improvements have been made internally
  399.         to AIBB to close several holes which could cause user problems.
  400.  
  401.     --     AIBB will now copy the paths of load file modules to the
  402.         load file preferences when they are first called up.  This allows
  403.         user selection of available modules from the standard requester
  404.         used when gathering such modules.
  405.  
  406. Changes to version 4.58-4.61
  407.  
  408.     --     Some display bugs were discovered and corrected in these
  409.         interim releases.  Also, some additional work was done on AIBB's
  410.         68030/68EC030 detection.  Version 4.61 corrected a problem with
  411.         4.60's erroneous display of the system's graphics and display
  412.         chips.
  413.  
  414. Changes to version 4.57
  415.  
  416.     --     A rather nasty bug cropped up in version 4.56 pertaining to
  417.         the way AIBB tested for an MMU on the system.  This led to AIBB
  418.         hanging on startup with certain system configurations.  The
  419.         bug is now corrected in this version.
  420.  
  421. Changes to version 4.56
  422.  
  423.     --     Minor changes made to AIBB's 68EC030 testing to improve
  424.         memory usage.  A number of small changes were also made elsewhere
  425.         to this effect as well.
  426.  
  427.     --     Specific time-dependent routines within the interface have been
  428.         downcoded to assembly for speed purposes.
  429.  
  430. Changes to version 4.55
  431.  
  432.     --     AIBB's system information display has been changed.  No longer
  433.         is a simple area used to display memory nodes existing on the
  434.         system.  In its place, a similar area exists, which can be used
  435.         to show either memory nodes, or expansion boards contained
  436.         in the system AutoConfig board lists.  Selection of one of these
  437.         displays is done dynamically by means of gadgets.  Please see
  438.         the main documentation for full information.
  439.  
  440.     --     A new menu item on the main screen, "Show Aggregate Results"
  441.         exists under the "Special" group.  This item will allow the
  442.         viewing of aggregate system results after an initial system load
  443.         module is performed on the host.  The main documentation includes
  444.         full details on this item's use.
  445.  
  446.     --     AIBB now uses the graphics.library DisplayInfo database under
  447.         V36 and above of the OS (2.0 or higher) rather than other means
  448.         to determine the system display characteristics.  This avoids
  449.         unecessary hardware peeking and enhances future compatibility.
  450.  
  451.     --     An annoyance bug with AIBB's startup has been corrected.  In
  452.         certain circumstances (especially on single-floppy systems) when
  453.         AIBB is in its initial startup phases, the program may seem to
  454.         suddenly stop on a blank screen.  This is because the system
  455.         was requesting a different volume (usually the main system disk)
  456.         to be inserted.  However, AIBB's screen was made home to such
  457.         requesters, but too soon - The screen colors were all still black,
  458.         thus rendering the system requester invisible.  Now, AIBB waits
  459.         until it is up and running before transfering the system requester
  460.         location to its own screen so that these requesters will be
  461.         visible should the appear (note that in terms of
  462.         "system requesters", this referrs to requesters related to AIBB's
  463.         process only).
  464.  
  465.     --     A bug with the detection of the 68EC030 CPU has been corrected.
  466.         The method used to detect the EC030 is a fairly straightforward one.
  467.         If the MMU ENABLED bit is set in the translation control register
  468.         ( TC ), AIBB assumes that a working MMU exists, and that the CPU
  469.         is a standard 68030.  If this bit is not set, a more thorough test
  470.         is performed.  This test involves setting up a simple translation
  471.         table, marking a page as 'write protected', and attempting a
  472.         write to that page.  If a bus error occurs, this will have been
  473.         caused by the MMU, and thus it must be functional - implying a
  474.         standard 68030.  If no bus error is forthcoming, the CPU is thus
  475.         marked as a 68EC030.
  476.           The bug was detected only as a fluke, but could show up in other
  477.         systems in an odd circumstance.  Earlier versions of AIBB write
  478.         protected the page in question, turned the MMU on, then installed
  479.         a bus error handler.  This order was incorrect...the circumstance
  480.         in question came up when the system exception vector table was
  481.         moved by use of the Vector Base Register ( VBR ).  If that table
  482.         happened to reside in the page AIBB write protected, the
  483.         installation of the bus error handler pointer in that table would
  484.         cause a bus error itself -- this would hang the system as the
  485.         proper error handler would not be installed (the write to do so
  486.         would be suspended).  This has been corrected.  Thus far, it has
  487.         not shown up on other systems, but this will make it more
  488.         bullet-proof in that respect.
  489.  
  490.     --     A rather obscurely discovered Enforcer hit with AIBB has been
  491.         corrected.  Under strange circumstances, AIBB could cause a READ
  492.         Enforcer hit during its file-requester procedures.  This was
  493.         benign, but nevertheless has been corrected.
  494.  
  495. Changes to version 4.5
  496.  
  497.     --     PLEASE NOTE THAT AIBB'S LOAD FILE FORMAT HAS CHANGED AS OF THIS
  498.        VERSION!  Previous load file formats will no longer be loaded.  I
  499.        have frozen the load file format as of this version, so no future
  500.        changes will cause this incompatibility, or some form of conversion
  501.        ability will be given.
  502.  
  503.     --     New routines have been added for 68040 floating point math
  504.        support.  The 68040 does not have transcendental function support
  505.        within its built-in FPU, and thus must rely on software emulation
  506.        for such routines.  Unfortunately, the method of such emulation
  507.        requires that the FPU jump to a trap routine after encountering such
  508.        a transcendenal function instruction, such as FSIN.<fmt>.  The
  509.        68040 FPU reacts to such instructions by causing an unimplemented
  510.        instruction exception, and fetching the appropriate exception
  511.        routine vector from the system exception vector table.  Once jumping
  512.        to the appropriate routine, it is said routine's responsibility
  513.        to determine the instruction which caused the exception, and
  514.        react accordingly.  In the case of the FPU instructions not
  515.        implemented, the routine must emulate these instructions and set up
  516.        the return result before returning the CPU/FPU to normal processing.
  517.            The unfortunate part to all this is that although the supported
  518.        instructions in the 68040 FPU are highly optmized, and much faster
  519.        than earlier coprocessor equivalents, the overhead involved with
  520.        the trap routine method of emulation is so much so that it negates
  521.        the gain made by the optimizations.  This is where in-line code
  522.        support comes to an advantage with the 68040 FPU, and AIBB attempts
  523.        to do this by making function calls to optimized equivalent math
  524.        routines, rather than allow the trap handling technique to handle
  525.        unimplemented FPU instructions.  Hopefully this will show somewhat
  526.        of a performance improvement on transcendenal-intensive routines
  527.        such as the Savage benchmark.
  528.  
  529.     --     AIBB now accepts certain command-line/icon tooltype options.
  530.        Please refer to the documentation for a description of these
  531.        options.
  532.  
  533.     --     A new comparison is now made upon completion of a load module
  534.        or all-tests run.  AIBB will open a small requester-like window
  535.        after all tests are completed giving a rundown average comparison
  536.        in both integer/graphic and floating-point categories.  The index
  537.        values given represent overall average figures taking into account
  538.        all tests in a given category.
  539.  
  540.     --     The WritePixel test has been updated.  It is now longer and
  541.        performs more graphics operations.
  542.  
  543.     -- A new test has been incorporated - InstTest.  This test is an
  544.        instruction execution timing setup, and will give results in
  545.        Instructions/Second.  It is a special test, and is not affected by
  546.        the individual system code type settings.  Please read the
  547.        appropriate section in the documentation for more information.
  548.  
  549.     --     AIBB's primary screen has been reduced from a 4-bitplane
  550.        ( 16 color ) setup to a 3-bitplane ( 8 color ) one.  This should
  551.        speed up refresh time and responsiveness of the program to some
  552.        extent.
  553.  
  554.     --     A number of internal routine optimizations have been made to
  555.        increase overall program efficiency.
  556.  
  557. Changes to version 4.3
  558.  
  559.      -- AIBB can now be made to incorporate load files upon startup
  560.         as the default comparison systems.  A new entry under the
  561.         General menu, "Load Module Prefs" allows load modules to be
  562.         selected by path/filename for loading into AIBB upon startup.
  563.         This allows alternate comparison systems to be more easily
  564.         used as manual loading of them is no longer necessary if they
  565.         are frequently used instead of the defaults.
  566.  
  567.      -- Corrected a minor problem with AIBB's data display.  Under
  568.         Review Mode, AIBB would not change the system base immediately
  569.         when a new base was selected and there was no test data for
  570.         the host system in reference to any particular test.  This
  571.         has been changed so that AIBB handles this condition correctly.
  572.  
  573.      -- Improvement of AIBB's memory bus port width determining code has
  574.         been added.  Some 68040 boards with 32-bit memory were being
  575.         incorrectly noted as having 16-bit ports.  In addition, a few
  576.         68030 accelerators without memory were having 16-bit resources
  577.         on the system erroneously reported as 32-bit ported devices.
  578.         This has hopefully been corrected in this release.
  579.  
  580. Changes to version 4.2
  581.  
  582.      -- The ability to display data in Review Mode, without having to
  583.         perform a given test on the host system itself has been added.
  584.         This allows the viewing of comparison system data without having
  585.         to perform a given test on the host itself.  The host system
  586.         will display "N/A" in appropriate locations if no data is
  587.         available for a given test.
  588.  
  589.      -- 68040 systems would display Write Allocation and BURST mode
  590.         operations for cache status incorrectly.  Write Allocation is
  591.         not a seperate entity as with the 68030 for the data cache,
  592.         and thus this mode is not displayed for the 68040 now.  BURST
  593.         mode operations for both instruction and data caches are hardware
  594.         controlled on the 68040, and always implied.  The caches do not
  595.         have a software-controllable setting for this mode as with the
  596.         68030, therefore this mode is always indicated as ON with a
  597.         68040 system now.
  598.  
  599.      -- Corrected a bug with AIBB's MMU table parsing code.  AIBB would not
  600.         have correctly handled 8-byte descriptor entries in 68851 or 68030
  601.         MMU tables as it was.  This has been fixed so that AIBB will
  602.         properly parse these entries as well.
  603.  
  604.      -- Bug pertaining to error output strings for the initialization abort
  605.         routine was fixed.  A string was improperly terminated resulting in
  606.         an output error and possible crash for certain startup abort
  607.         conditions.
  608.  
  609.      -- Utility ModInfo was not displaying proper MMU status information for
  610.         68040 system modules.  This has been corrected.  ModInfo now stands
  611.         at version 1.2.
  612.  
  613.      -- Documentation improvements and update information added.
  614.  
  615.      -- General code clean up performed and further optimization of
  616.         various routines.
  617.  
  618. Changes to version 4.1
  619.  
  620.      -- Fixed a bug with certain 68040 system configurations which caused
  621.         AIBB to hang on startup.
  622.  
  623. Changes to version 4.01:
  624.  
  625.      -- Fixed a bug pertaining to early versions of the kd_freq.library.
  626.         Apparently early versions of this library would crash AIBB during
  627.         startup due to a problem with the library itself.  Later library
  628.         versions work fine.  AIBB will therefore not open kd_freq.library
  629.         unless the version number is 3 or greater.
  630.  
  631.      -- A bug with the the included AIBB utility ModInfo was discovered.
  632.         Incorrect information was given pertaining to load modules under
  633.         certain circumstances.  This has been corrected.
  634.  
  635. Primary new features to version 4.0 include:
  636.  
  637.      -- Improved CPU/FPU clock speed evaluation code.  Earlier versions
  638.         had a great many problems in this area, primarily due to a
  639.         misplaced NOP instruction wreaking havoc with the timings.
  640.  
  641.      -- Enhanced/additional tests.  Some tests in earlier versions were
  642.         proven to be non-useful in any real form and were removed.
  643.         The remaining tests were enhanced and refined, and new tests
  644.         were added to further complete the package.
  645.  
  646.      -- Improved system information.  More pertinent information is
  647.         given towards evaluation of AIBB's benchmark performance.
  648.  
  649.      -- Module save/load capability.  AIBB now incorporates the ability
  650.         to create "load modules" consisting of saved test/machine
  651.         evaluations.  These modules may be loaded into AIBB at convienience
  652.         and used within comparisons.  This is an effort to allow
  653.         comparisons across many machine types, rather than restricting
  654.         them to in-built figures.  A set of internal defaults is included.
  655.  
  656.      -- AIBB has been made more "aware" of the system it is operating
  657.         on and will attempt to keep users informed of situations which
  658.         may prove detrimental to performance analysis.
  659.  
  660. Further description of these and other features is found in the main
  661. documentation.
  662.  
  663.